package com.volunteer.model.vo;

import com.volunteer.entity.Showcase;
import lombok.Data;

import java.util.List;

/**
 * 首页数据VO
 */
@Data
public class HomeDataVO {

    /**
     * 轮播图数据
     */
    private List<CarouselVO> carousels;

    /**
     * 热门活动数据
     */
    private List<ActivityVO> hotActivities;


    /**
     * 风采展示
     */
    private List<Showcase> showcases;


    /**
     * 轮播图VO
     */
    @Data
    public static class CarouselVO {
        /**
         * 轮播图ID
         */
        private Long id;

        /**
         * 轮播图标题
         */
        private String title;

        /**
         * 轮播图图片URL
         */
        private String imageUrl;

        /**
         * 轮播图链接
         */
        private String linkUrl;

        /**
         * 排序号
         */
        private Integer sort;
    }

    /**
     * 活动VO
     */
    @Data
    public static class ActivityVO {
        /**
         * 活动ID
         */
        private Long id;

        /**
         * 活动标题
         */
        private String title;

        /**
         * 活动封面图
         */
        private String coverImg;

        /**
         * 活动描述
         */
        private String description;

        /**
         * 活动地点
         */
        private String location;

        /**
         * 活动开始时间
         */
        private String startTime;

        /**
         * 活动结束时间
         */
        private String endTime;

        /**
         * 报名开始时间
         */
        private String registerStartTime;

        /**
         * 报名结束时间
         */
        private String registerEndTime;

        /**
         * 招募人数
         */
        private Integer recruitNumber;

        /**
         * 招募人数
         */
        private Integer registeredNumber;

        /**
         * 活动状态（0-未开始 1-报名中 2-进行中 3-已结束 4-已取消）
         */
        private Integer status;

        /**
         * 创建者ID
         */
        private Long creatorId;

        /**
         * 所属团队/学院
         */
        private String team;

        /**
         * 是否推荐（0-否 1-是）
         */
        private Integer isRecommended;

        /**
         * 是否展示（0-否 1-是）
         */
        private Integer isDisplay;
    }
}
